Créer des cames par programme
Le BasicMotion_CreateCamTableOnline.project L'exemple de projet se trouve dans le répertoire d'installation de CODESYS sous ..\CODESYS SoftMotion\Examples.
L'exemple montre comment utiliser le code IEC pour créer et utiliser une caméra. Les points suivants sont abordés ici :
Une caméra créée dans l'éditeur de caméras est créée à nouveau à l'aide du code IEC.
Dans un cas, le disque à cames est généré dans la tâche du bus.
Dans l'autre cas, le disque à cames est généré dans le cadre d'une tâche distincte.
Ensuite, les trois cames fonctionnent avec le même axe principal et des axes esclaves différents. Le mouvement des trois esclaves est identique.
La caméra générée dans le code IEC est affichée dans la visualisation.
Pour plus d'informations sur la création programmatique de cames, voir : Créer des cames par programme
Structure de la candidature
L'application comprend les éléments suivants :
CamOfflineLa caméra créée dans l'éditeur de caméras qui doit être créée à nouveau à l'aide du code IEC.
PLC_PRGLe programme se compose d'une simple machine à états et, logiquement, de trois parties. Dans les première et deuxième parties, une came est créée en code IEC. Dans la troisième partie, les caméras créées précédemment et une caméra identique créée hors ligne sont exécutées.
Partie 1:
Dans le premier état
STATE_CREATE_ONLINE_TABLE, une came est créée en code CEI. Le SMCB.CamBuilder bloc fonctionnel duSM3_CamBuilderla bibliothèque est utilisée à cet effet. Trois segments sont ajoutés : un élément Poly5 suivi d'un élément Line et d'un autre élément Poly5. Le Constructeur génère un CamOnline came de ça. A partir de ce moment, la came est créée en code CEI et peut être utilisée de la même manière que la CamHors ligne caméra créée hors ligne dans l'éditeur de caméras.Partie 2:
Dans le
STATE_INIT_ONLINE_TABLE_MULTITASK,STATE_START_CREATE_ONLINE_TABLE_MULTITASK, etSTATE_READ_ONLINE_TABLE_MULTITASKétats, la création de la caméra est lancée dans une autre tâche puis elle est lue.Troisième partie :
Dans le
STATE_POWER_DRIVESétat, les axes virtuels pour le maître et les trois axes esclaves sont initialisés. Les cames sont ensuite sélectionnées à l'aide deMC_CamTableSelectdans leSTATE_SELECT_TABLEétat et exécuté en finaleSTATE_MOVEMENTétat. L'axe principal est déplacé à l'aide deMC_MoveVelocityet est utilisé comme maître pour les trois cames.
MultitaskCamBuilderUn programme qui génère une caméra comme décrit dans la partie 1 de
PLC_PRG. La seule différence ici est qu'une variante multitâche/multicore sécurisée de la caméraGVLLa variante multitâche/multicore-safe de la caméra est instanciée ici.
VisualizationLa visualisation contient les
SMC_Visu_CamDisplayerélément pour afficher les caméras. La caméra générée dans la partie 1 dePLC_PRGs'affiche.CamDisplayerSettingsÉléments supplémentaires pour l'affichage de la caméra
VisualizationTrace
Vous pouvez utiliser la trace pour suivre le mouvement des axes virtuels. La position actuelle du maître est enregistrée, ainsi que la position, la vitesse et l'accélération des trois axes esclaves.
Mise en service
Créez l'application et téléchargez-la sur un contrôleur.
Démarrez la trace et l'application.
Observez la trace d’échantillonnage.
Affichage de la caméra générée dans la visualisation